The process of emulating the functionality on a first computer system (the “host system”) of a second computer platform (the “target system”) so that the host system can execute programs designed for the target system is known as “emulation.” Emulation has commonly been achieved by creating software that converts program instructions designed for the target platform (target code instructions) into the native-language of a host platform (host instructions), thus achieving compatibility. More recently, emulation has also been realized through the creation of “virtual machines,” in which the target platform's physical architecture—the design of the hardware itself—is replicated via a virtual model in software.
Emulation of a gaming platform on another platform has been available for some time. However, in the event of a subsequent development of a host system with technical capabilities different than those of the legacy target system, there is an opportunity in emulation to enhance and supplement the gaming experience in the host system by taking advantage of the additional capabilities present in the host system.
This disclosure sets forth techniques for enhancing emulators. By way of example, and not by way of limitation, a Playstation®2 emulator facilitates the execution of Playstation®2 games on other more advanced platforms, such as, for example, the Playstation®3 game platform. The Playstation®2 emulator running in the Playstation®3 game platform is operable to enhance and/or modify various aspects of the game play experience by intercepting events, commands, and/or instructions and modifying their effects to further enhance the user gaming experience of Playstation®2 games in the Playstation®3 game platform.